\documentclass[10pt]{article}

\usepackage{graphicx} 

\author{Matteo Bellan, Andrea Michelotti, Fabio Rambone, Luca Vignola}
\title{Design Document for Eisenhower Matrix}

\begin{document}

\maketitle
\newpage

\tableofcontents
\newpage

\section{Introduction}
This document describes the requirements for developing the Eisenhower Matrix web application. The application is intended as a time management system to help prioritize tasks in a work group. The application allows assigning specific tasks to the components of a work group and displays them according to their importance and urgency. Each member can interact with the task in the application, for example by marking a task as completed.

\section{Development Stages}
This Project is designed using an incremental approach. There are four stages of development which culminate in Release 1, due to April 23, 2010; Release 2, due to May 6, 2010; Release 3, due to May 17, 2010; Release 4, due to May 21, 2010. The Beta Release will be delivered May 25, 2010. The final product will be presented May 28, 2010.

\section{System Requirements}
The application is composed of five main parts. 

\subsection{Users}
There are three different types of users: an administrator, which has access to everything and may change everything (e.g deleting other users); a team manager, which is the head of a work group; a member, who can do everything a boss can do, but without the higher priority. Each user of the system has a unique account with a login and a password (all his actions have high priority).
\subsection{Tasks}
A task represents a unit of work in a "TODO" list. Each task has an importance and a due date on which the urgency depends. A task has a title, a description, the creator, a task executor (or a set of task executors) and a part with comments which allows a discussion on the task.\\\\
A user can execute a number of actions on a task. When a task is created a task executor must be assigned. A task executor or the task creator may re-assign the task to another user. A task, when completed, can be closed and, if it is not needed or wrong it can be deleted.

\subsection{Matrix}
The Eisenhower matrix will cover the main part of the UI inside the browser. It shows all the tasks of the current work group and updates the urgency dynamically based on the due date of the task. The matrix will support drag \& drop for the tasks on it.

\subsection{Mails}
When an action is executed on a task, all the involved users are notified by e-mail. For example when a task is created the task executor is notified; or when a task gets closed all other executors and the task creator are notified.

\subsection{Searching}
A user can search all the current and previous tasks using keywords. The keyword is searched in the title, the description and the comments of a task. The search results can subsequently be filtered.

\newpage

\section{Class Diagram}

This is a simplified UML diagram of the model.\\\\\\\\

\includegraphics[scale=0.5]{Classes_Diagram.png}

\end{document}